package com.program.facesigninsystem.service;


import com.program.facesigninsystem.api.CommonPage;
import com.program.facesigninsystem.iteration.dto.LowerApplyRecord;
import com.program.facesigninsystem.iteration.dto.OwnApplyHistory;
import com.program.facesigninsystem.iteration.dto.OwnAuth;
import com.program.facesigninsystem.iteration.dto.RecordDetail;
import com.program.facesigninsystem.iteration.entity.AdminGroupEntity;

import java.util.List;

public interface AuthorityService {

    OwnAuth getOwnAuth(String uid);

    List<AdminGroupEntity> getGroupList(int groupLevel, int groupId);
    List<AdminGroupEntity> getGroupList1(int groupLevel);
    List<String> getsuperiors(int groupId);


    Boolean subAuthApply(String uid, int groupId, String groupName);

    Boolean subAuthApply1(String uid, int groupLevel, String groupName);

    CommonPage<OwnApplyHistory> getAuthApplyHistory(String uid, int pageNum, int pageSize);

    RecordDetail getOneAuthApplyDetail(int recordId);

    List<LowerApplyRecord> getAuthApplyRecord(String uid, int pageNum, int pageSize);

    List<LowerApplyRecord> getBind(String uid, int pageNum, int pageSize);
    CommonPage<OwnApplyHistory> getBindApplyHistory(String uid, int pageNum, int pageSize);

    Boolean subBindApply(String uid, int groupId);

    List<LowerApplyRecord> getBindApplyRecord(int groupId, int pageNum, int pageSize);

    Boolean handleApply(int applyRecordId, int applyType, int handleType, String rejectReason);

    Boolean cancelBind(String uid, int groupId);
    Boolean cancelBind1(String uid, int groupId);
    Boolean changeAttendanceStatus(int groupId, int whetherSeeAttendance);

    Boolean bindTeacher(String uid, String university, String academy, String major, String job_number, int whetherSeeAttendance);

}
